package My.BasicDisciplineTools.Math;
/*
最大公约数和最小公倍数
有两个整数26和6，求出两数的最大公约数和最小公倍数；
提示：最大公约数用(a,b)表示，最小公倍数用[a,b]表示，输出为(6,26)=2,[26,6]=78；
 */
public class Tools {
    //最大公约数
    public static int gcd(int a,int b){
        if(b==0){
            return a;
        }else {
            return (a%b==0)?b:gcd(b,a%b);
        }
    }
    //最小公倍数
    public static int lcm(int x,int y){
        int gcd=gcd(x,y);
        return (x*y/gcd);
    }

    //计算N的阶乘的方法
    public static int getNfactorial(int num){
        if(num==1||num==0){
            return 1;
        }
        return  num*getNfactorial(num-1);
    }
    //递归计算斐波那契序列
    public static int fib(int n){
        if(n>2){
            return fib(n-2)+fib(n-1);
        }else
            return 1;
    }

}
